package com.study.security.core.social.qq.connection;

import com.study.security.core.social.qq.api.QQ;
import com.study.security.core.social.qq.api.QQUserInfo;
import org.springframework.social.connect.ApiAdapter;
import org.springframework.social.connect.ConnectionValues;
import org.springframework.social.connect.UserProfile;

/**
 * 这个适配器要将我们自己定义的api和qq标准的api适配起来
 */
public class QQAdapter implements ApiAdapter<QQ>{

    /**
     * 测试qq是否是通的
     * @param qq
     * @return
     */
    @Override
    public boolean test(QQ qq) {
        return true;
    }

    @Override
    public void setConnectionValues(QQ api, ConnectionValues values) {
        QQUserInfo userInfo = api.getUserInfo();
        values.setDisplayName(userInfo.getNickname());
        values.setImageUrl(userInfo.getFigureurl_qq_1());     //头像
        values.setProviderUserId(userInfo.getOpenId());
        values.setProfileUrl(null);//主页，可不填
    }

    /**
     * 绑定解绑
     * @param qq
     * @return
     */
    @Override
    public UserProfile fetchUserProfile(QQ qq) {
        return null;
    }

    /**
     * 什么都不做
     * @param qq
     * @param s
     */
    @Override
    public void updateStatus(QQ qq, String s) {

    }
}
